package com.cmc.cloud.cmclink.doc.vo.manifestvo.cargomanifest;

import javax.validation.constraints.NotBlank;

import org.hibernate.validator.constraints.Length;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * CARGO MANIFEST Request VO
 *
 * @author codegen
 */
@Schema(description = "管理后台 - CARGO MANIFEST Request VO")
@Data
@EqualsAndHashCode
@ToString(callSuper = true)
public class CargoManifestQueryReqVO {

    @Schema(description = "中转港口")
    @NotBlank(message = "{CargoManifestQueryReqVO.currentPort.notBlank}")
    @Length(max = 50, message = "{CargoManifestQueryReqVO.currentPort.length}")
    private String currentPort;

    @Schema(description = "船名")
    @Length(max = 50, message = "{CargoManifestQueryReqVO.vesselCode.length}")
    private String vesselCode;

    @Schema(description = "航次")
    @Length(max = 50, message = "{CargoManifestQueryReqVO.voyage.length}")
    private String voyage;

    @Schema(description = "提单号")
    @Length(max = 50, message = "{CargoManifestQueryReqVO.blNo.length}")
    private String blNo;

    @Schema(description = "进出口类型：默认EX：出口， IM：进口")
    @Length(max = 10, message = "{CargoManifestQueryReqVO.exImType.length}")
    private String exImType;

    @Schema(description = "数据来源：si默认、manifest")
    @Length(max = 10, message = "{CargoManifestQueryReqVO.source.length}")
    private String source;
}
